package com.wg.msuser.common;


import com.wg.msuser.util.UUIDUtil;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;

@RestController
public class FileUploadController {

    @Value("${spring.servlet.multipart.location}")
    private String uploadPath;

    /**
     * 文件上传
     * @param file 待上传文件
     * @return uuid文件名
     */
    @PostMapping(value = "/user/file/wanggou", consumes = "multipart/form-data")
    public String fileUpload(MultipartFile file) {  // 移除 static 关键字
        String fileName = null;
        try{
            if(file != null && !file.isEmpty()) {
                // 获取文件名
                fileName = file.getOriginalFilename();
                // 设置新的 uuid 文件名（以避免同名文件覆盖）
                fileName = UUIDUtil.getUUID() + fileName.substring(fileName.lastIndexOf("."));
                // 确保上传目录存在
                File uploadDir = new File(uploadPath);
                if (!uploadDir.exists()) {
                    uploadDir.mkdirs();
                }
                // 创建目标文件，使用配置的路径
                File targetFile = new File(uploadPath, fileName);
                // 将 file 保存到目标文件中
                file.transferTo(targetFile);
                System.out.println("文件上传成功,文件名为:" + fileName);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        // 返回文件名
        return fileName;
    }
}
